/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package py.com.spadons.esmetil.sessionBeans;

import java.util.Date;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
import py.com.spadons.esmetil.entities.Dato;
import py.com.spadons.esmetil.entities.EstacionDetalle;

/**
 *
 * @author spadons
 */
@Stateless
public class DatoFacade extends AbstractFacade<Dato> {
    @PersistenceContext(unitName = "EsmetilPU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public DatoFacade() {
        super(Dato.class);
    }
    
    public Dato findUltimoByEstacionDetalle(EstacionDetalle estacionDetalle){
        Dato dato = null;
        
        TypedQuery<Dato> query = em.createNamedQuery("Dato.findUltimoByEstacionDetalle", Dato.class);
        query.setParameter("estacionDetalle", estacionDetalle);
        
        try {
            dato = (Dato)query.getSingleResult();
        } catch (javax.persistence.NoResultException e) {
            System.out.println("El Detalle " + estacionDetalle.getCodigo()  + " no tiene Datos Registrados ");            
        }
        
        return dato;
    }
    
    public List<Dato> findDesdeHasta(EstacionDetalle estacionDetalle, Date desde, Date hasta){
        TypedQuery<Dato> query = em.createNamedQuery("Dato.findDesdeHasta", Dato.class);
        query.setParameter("detalle", estacionDetalle);
        query.setParameter("desde", desde);
        query.setParameter("hasta", hasta);
        
        return query.getResultList(); 
    }
    
}
